﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NETMovie.Entities;

namespace NETMovie.Repositories
{
    public interface IMovieRepository : IDisposable
    {
        Movie GetMovie(int movieID);
        Movie GetMovie(string movieTitle);
        IEnumerable<Movie> GetMovies(string title, string category, string keywords, bool showDelete);
        int CreateMovie(Movie movie);
        bool EditMovie(Movie movie);
        MovieCategory GetCategory(string categoryCode);
        MovieCategory[] GetAllCategories();
        bool SaveMovie(Movie movie);
        UserComment[] GetComments(int movieId);
        bool CreateComment(int movieId, UserComment comment);
        bool AddMovieCastMember(IEnumerable<CastMember> castMemberList, int movieId);
        bool EditMovieCastMembers(IEnumerable<CastMember> castMemberList, int movieId);
        bool AddMovieArticle(Article article, int movieId);
        Article GetMovieArticle(int movieId);
        CastMember[] GetMovieCastMembers(int movieID);
        bool DeleteMovieCastMember(int CastMemberId, int movieId);
    }
}
